﻿package com.kucooler.common.event {
    import flash.events.*;

	/**
	 * <b>事件廣播類</b>
	 * 可選廣播參數：data，bubbles,cancelable
	 * 
	 */
    public class DataEvent extends Event
    {
		/**
		 * 私有廣播內容
		 */
        protected var _data:Object;

		/**
		 * DataEvent構造函數
		 * @param	param1	事件名
		 * @param	param2	事件傳遞的參數
		 * @param	param3	判斷 Event 物件是否參與事件流程的反昇階段。 預設值是 false。 
		 * @param	param4	判斷是否可以取消 Event 物件。 預設值為 false。 
		 */
        public function DataEvent(param1:String, param2:Object = null, param3:Boolean = false, param4:Boolean = false)
        {
            super(param1, param3, param4);
            _data = param2;
            return;
        }
		
        public function get data() : Object
        {
            return _data;
        }

		/**
		 * 事件格式化
		 * @return
		 */
        override public function toString() : String
        {
            return formatToString("DataEvent:", "type", "bubbles", "cancelable", "data");
        }

		/**
		 * 重寫繼承方法
		 * @return
		 */
        override public function clone() : Event
        {
            return new DataEvent(type, data, bubbles, cancelable);
        }

    }
}
